home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / business / exlwk4up.zip / _MSSETUP.EX_ / DISK1 / XLCONVW4.MS_ / XLCONVW4.bin
Text File  |  1994-11-07  |  4KB  |  170 lines

  1. '
  2. '  File:           XLCONVW4.MST
  3. '  Description:    Excel WK4 File Converter
  4. '  Platform:       Microsoft Windows
  5. '
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. CONST SEARCHDONE = 100
  11. CONST INILOOP    = 200
  12.  
  13. CONST SEARCHING   = 1000
  14. CONST EXITSUCCESS = 2000
  15. CONST EXITFAILURE = 3000
  16. CONST EXITNOEXCEL = 4000
  17.  
  18. GLOBAL DRIVES$
  19.  
  20. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  21. DECLARE FUNCTION MakeDirectory (szDir$) AS STRING
  22. DECLARE FUNCTION StripFileName (szPath$) AS STRING
  23. DECLARE FUNCTION StrStripped (value%) AS STRING
  24.  
  25. INIT:
  26.  
  27.     DRIVES$        = "drives"
  28.     CUIDLL$        = "mscuistf.dll"
  29.     HELPPROC$      = "FHelpDlgProc"
  30.     PRODUCTFILE$   = "XLCONVW4"
  31.     PROGRAMFILE$   = "EXCEL.EXE"
  32.     EXCEL5INIFILE$ = "EXCEL5.INI"
  33.  
  34.     windir$ = GetWindowsDir
  35.  
  36.     ON ERROR GOTO ERRQUIT
  37.  
  38.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  39.     IF szInf$ = "" THEN
  40.         szInf$ = GetSymbolValue("STF_CWDDIR") + PRODUCTFILE$ + ".INF"
  41.     ENDIF
  42.     ReadInfFile szInf$
  43.  
  44. '
  45. ' find the excel directory
  46. '
  47.     sz$     = UIStartDlg(CUIDLL$, SEARCHING, "FModelessDlgProc", 0, "")
  48.     cursor% = ShowWaitCursor()
  49.  
  50.     GetValidDrivesList DRIVES$
  51.  
  52.     FOR i% = 1 TO GetListLength(DRIVES$) STEP 1
  53.         find$ = FindFileInTree(PROGRAMFILE$, GetListItem(DRIVES$, i%) + ":\")
  54.         IF find$ <> "" THEN
  55.             GOTO SEARCHDONE
  56.         ENDIF
  57.     NEXT i%
  58.  
  59.     find$ = ""
  60.  
  61. SEARCHDONE:
  62.  
  63.     RestoreCursor cursor%
  64.     UIPop 1
  65.  
  66.     IF find$ = "" THEN
  67.         sz$ = UIStartDlg(CUIDLL$, EXITNOEXCEL, "FInfo0DlgProc", 0, "")
  68.         GOTO ERRQUIT
  69.     ENDIF
  70.  
  71. '
  72. ' install files
  73. '
  74.     ClearCopyList
  75.     source$ = GetSymbolValue("STF_SRCDIR")
  76.     dest$   = StripFileName(find$)
  77.     AddSectionFilesToCopyList "Excel", source$, dest$
  78.     CopyFilesInCopyList
  79.  
  80. '
  81. ' update the excel .ini file
  82. '
  83.     inifile$    = MakePath(windir$, EXCEL5INIFILE$)
  84.     section$    = "Converters"
  85.     keystring1$ = "Lotus 1-2-3 Release 4 or 5 (*.wk4)"
  86.     keystring3$ = "*.wk4"
  87.     keyupdate$  = keystring1$ + "," + MakePath(dest$, PRODUCTFILE$ + ".DLL") + "," + keystring3
  88.     i%          = 1
  89.  
  90. INILOOP:
  91.  
  92.     key$       = "conv" + StrStripped(i%)
  93.     keystring$ = GetIniKeyString(inifile$, section$, key$)
  94.  
  95.     IF keystring$ = "" THEN
  96.  
  97.         CreateIniKeyValue inifile$, section$, key$, keyupdate$, cmoOverwrite
  98.  
  99.     ELSEIF UCASE$(MID$(keystring$, 1 + LEN(keystring$) - LEN(keystring3$), LEN(keystring3$))) = UCASE$(keystring3$) THEN
  100.  
  101.         CreateIniKeyValue inifile$, section$, key$, keyupdate$, cmoOverwrite
  102.  
  103.     ELSE
  104.  
  105.         i% = i% + 1
  106.         GOTO INILOOP
  107.  
  108.     ENDIF
  109.  
  110. '
  111. ' update the registration database and windows .ini file
  112. '
  113.  
  114. QUIT:
  115.  
  116.     sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfo0DlgProc", 0, "")
  117.  
  118.     END
  119.  
  120. ERRQUIT:
  121.  
  122.     UIPopAll
  123.  
  124.     sz$ = UIStartDlg(CUIDLL$, EXITFAILURE, "FInfo0DlgProc", 0, "")
  125.  
  126.     END
  127.  
  128.  
  129. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  130.  
  131.     IF szDir$ = "" THEN
  132.         MakePath = szFile$
  133.     ELSEIF szFile$ = "" THEN
  134.         MakePath = szDir$
  135.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  136.         MakePath = szDir$ + szFile$
  137.     ELSE
  138.         MakePath = szDir$ + "\" + szFile$
  139.     ENDIF
  140.  
  141. END FUNCTION
  142.  
  143.  
  144. FUNCTION StripFileName (szPath$) STATIC AS STRING
  145.  
  146.     j% = 0
  147.     FOR i% = LEN(szPath$) TO 1 STEP -1
  148.         IF MID$(szPath$, i%, 1) = "\" THEN
  149.             j% = i% - 1
  150.             i% = 1
  151.         ENDIF
  152.     NEXT i%
  153.  
  154.     IF j% = 0 THEN
  155.         StripFileName = szPath$
  156.     ELSE
  157.         StripFileName = MID$(szPath$, 1, j%)
  158.     ENDIF
  159.  
  160. END FUNCTION
  161.  
  162.  
  163. FUNCTION StrStripped (value%) STATIC AS STRING
  164.  
  165.   s$ = STR$(value%)
  166.   StrStripped = MID$(s$, 2, LEN(s$) - 1)
  167.  
  168. END FUNCTION
  169.  
  170.